{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## AutoGen Studio Agent Workflow API Example\n",
    "\n",
    "This notebook focuses on demonstrating capabilities of the autogen studio workflow python api.  \n",
    "\n",
    "- Declarative Specification of an Agent Workflow \n",
    "- Loading the specification and runnning the resulting agent\n",
    "\n",
    "\n",
    "> Note: The notebook currently demonstrates support for a two agent setup. Support for GroupChat is currently in development."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "work_dir work_dir\n",
      "userproxy (to primary_assistant):\n",
      "\n",
      "What is the height of the Eiffel Tower?\n",
      "\n",
      "--------------------------------------------------------------------------------\n",
      "primary_assistant (to userproxy):\n",
      "\n",
      "The Eiffel Tower, located in Paris, France, has a height of approximately 300 meters (984 feet) to the tip. Its height can vary slightly due to temperature changes which cause the metal to expand and contract. Including antennas, the total height of the Eiffel Tower is about 330 meters (1,083 feet). TERMINATE\n",
      "\n",
      "--------------------------------------------------------------------------------\n"
     ]
    }
   ],
   "source": [
    "import json \n",
    "from autogenstudio import AutoGenWorkFlowManager, AgentWorkFlowConfig \n",
    "\n",
    "# load an agent specification in JSON \n",
    "agent_spec= json.load(open('agent_spec.json'))\n",
    "\n",
    "# Creat a An AutoGen Workflow Configuration from the agent specification\n",
    "agent_work_flow_config =  AgentWorkFlowConfig(**agent_spec)\n",
    "\n",
    "# Create a Workflow from the configuration \n",
    "agent_work_flow = AutoGenWorkFlowManager(agent_work_flow_config) \n",
    "\n",
    "# Run the workflow on a task\n",
    "task_query = \"What is the height of the Eiffel Tower?\"\n",
    "agent_work_flow.run(message=task_query)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "coral",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
